package com.lihang.rabbit1.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lihang.rabbit1.common.page.PageRes;
import com.lihang.rabbit1.dto.req.SysUserAddReq;
import com.lihang.rabbit1.dto.req.SysUserPageReq;
import com.lihang.rabbit1.dto.req.SysUserUpdateReq;
import com.lihang.rabbit1.dto.res.SysUserPageRes;
import com.lihang.rabbit1.entity.SysUser;

/**
 * 系统用户Service接口
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 分页查询用户
     * 
     * @param req 分页查询参数
     * @return 分页结果
     */
    PageRes<SysUserPageRes> page(SysUserPageReq req);
    
    /**
     * 获取用户详情
     * 
     * @param id 用户ID
     * @return 用户详情
     */
    SysUserPageRes getUserById(Long id);
    
    /**
     * 新增用户
     * 
     * @param req 新增用户请求
     * @return 用户信息
     */
    SysUserPageRes saveUser(SysUserAddReq req);
    
    /**
     * 更新用户
     * 
     * @param req 更新用户请求
     * @return 用户信息
     */
    SysUserPageRes updateUser(SysUserUpdateReq req);
    
    /**
     * 删除用户
     * 
     * @param id 用户ID
     * @return 是否成功
     */
    boolean deleteUser(Long id);
}